package app

import (
	file_db "hft/Database/admin/file"
	"hft/db/mysql"
	"hft/global"
	"os"

	"gorm.io/gorm"
)

// 初始化
func Gorm() *gorm.DB {
	switch global.OC_CONFIG.System.DbType {
	// 观察现在是使用哪种类型的数据库
	case "mysql":
		return mysql.GormMysql()
	default:
		return nil
	}
}

// RegisterTables 注册数据库表专用
// Author SliverHorn
func RegisterTable(db *gorm.DB) {
	err := db.AutoMigrate(
		// 后端数据库
		&file_db.Dir{},
	// &file_db.File{},
	// &country_setting.Emoji{},
	// &common_phrase.CommonPhraseUsual{},
	// &common_phrase.CommonPhrase{},
	// &common_phrase.CommonPhraseCate{},
	// &friendly_link.CityFriendLyLink{},
	// &friendly_link.GloFriendlyLink{},
	// &user_db.UserRegion{},
	// &user_db.User{},
	// &user_db.Clue{},
	// &user_db.HelpSelect{},
	// &user_db.PhoneRecord{},
	// &user_db.Reservation{},
	// &user_db.FollowUp{},
	// &user_db.ExtendInfo{},
	// &loupan_db.Platform{},
	// &phone.PhoneAudio{},
	// &home_swiper.HomeSwiper{},
	// &wechat.WeChatMenu{},
	// &admin.Advise{},
	// &admin.DNBroker{},
	// &admin.Origin{},
	// &admin.FeedBack{},
	// &admin.Private{},
	// &admin.Assist{},
	// &admin.CountrySetting{},
	// &admin.FriendlyLink{},
	// &admin.AboutArticle{},
	// &admin.SmallCategory{},
	// &admin.AboutUsCategory{},
	// &admin.UserBroker{},
	// &admin.User{},
	// &admin.PhoneRecord{},
	// &admin.Clue{},
	// &admin.Remark{},
	// &admin.AccountAudit{},
	// &admin.CitySetting{},
	// &admin.Price{},
	// &admin.TotalPrice{},
	// &admin.Area{},
	// &admin.ShopRoute{},
	// &admin.HomeSwiper{},
	// &admin.CommonActivity{},
	// &admin.AccountExpand{},
	// &admin.ModelActivity{},
	// &admin.Activity{},
	// &admin.ActiveGroup{},
	// &admin.ActiveBase{},
	// &admin.ActiveCont{},
	// &admin.LouPanSwiperCategory{},
	// &admin.LouPanSwiper{},
	// &admin.Room{},
	// &admin.RoomSwiper{},
	// &admin.LouPanArea{},
	// &admin.Disadvantage{},
	// &admin.RoomType{},
	// &admin.SellStatus{},
	// &admin.LouPan{},
	// &admin.LouPanTeSe{},
	// &admin.CommonTag{},
	// &admin.SellLouPanInfo{},
	// &admin.Property{},
	// &admin.FileGroup{},
	// &admin.Route{},
	// &admin.Role{},
	// &admin.ArticleType{},
	// &admin.ArticleBase{},
	// &admin.ArticleCont{},
	// &admin.Account{},
	// &admin.FileUploadAndDownload{},
	// &admin.Region{},
	// &admin.LouPanName{},
	// &admin.Btn{},
	// &admin.Api{},
	// &admin.Meta{},
	)
	if err != nil {
		os.Exit(0)
	}
}
